package cn.bugstack.domain.strategy.service.rule.mytree.impl;

import cn.bugstack.domain.strategy.service.rule.tree.ILogicTreeNode;
import cn.bugstack.domain.strategy.service.rule.tree.factory.DefaultTreeFactory;

/**
 * TODO
 *
 * @Description 解锁校验节点
 * @Author Lx
 * @Date 2024/8/5 23:23
 **/
public class unLockVaildNode implements ILogicTreeNode {
    @Override
    public DefaultTreeFactory.TreeActionEntity logic(String userId, Long strategyId, Integer awardId, String ruleValue) {
        //1.判断抽到的奖品是否有次数锁校验，如果有则判断是否可以领取

        //2.如果不可领取，则走兜底给个奖励就好


        //3.如果可以领取，则直接返回，就不用走兜底奖励了


        //并且zuihou不管是走兜底奖励，还是直接返回，都需要走扣减库存节点
        //如：次数校验
        // |          |
        //兜底奖励    直接返回奖品
        // |     |   |          |
    //直接返回奖品 over over      over
    // |      |
    // over   over

        //4.logic返回的是一个treeactionentity,里面有linelist，每次返回之后，我们先要对lineList判断和treeactionentity的返回的type和info作判断
        //如果type和Info正常，则判lineList为空，如果不为空则进入下一个节点，如果为空则直接break即可。并且最后返回的这个treeactionentity，里是有最终的奖品信息的
        //然后之后返回奖品信息就好
        return null;
    }
}
